package com.fenghuaxz.rpcframework.annotation;

import com.fenghuaxz.rpcframework.Context;
import com.fenghuaxz.rpcframework.OnBindCheckListener;
import com.fenghuaxz.rpcframework.OnLimitChannelListener;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * 访问限制策略
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface LimitPolicy {

    Type[] value();

    /**
     * 策略类型<p>
     * ISBIND : 仅绑定的Channel可访问 需设置回调 : {@link Context} , {@link OnBindCheckListener}<br>
     * ISLOCAL : 仅信任本地 或 自定义规则 需设置回调 : {@link Context} , {@link OnLimitChannelListener}
     * </p>
     */
    enum Type{ISBIND,ISLOCAL}
}
